// 判断一个链表是否有环

const hasCycle = head => {
  // 只要节点存在,就继续遍历
  while (head) {
    if (head.flag) {
      return true;
    } else {
      // 给head立一个flag
      head.flag = true;
      head = head.next;
    }
  }
  return false;
};
/// 真题描述：给定一个链表，返回链表开始入环的第一个结点。 如果链表无环，则返回 null。

const detectCycle = head => {
  // 只要节点存在就继续遍历
  while (head) {
    if (head.flag) {
      // 最先被发现的flag一定就是环的起点
      return head;
    } else {
      head.flag = true;
      head = head.next;
    }
  }
  return null;
};
